﻿
Namespace SchoolClick.Controllers
    Public Class AuthorizeBaseController
        Inherits Controller

        '<OutputCache(Duration:=6000)> _
        Public Function TopMenuBar() As ActionResult
            Dim sRolName As String = Roles.GetRolesForUser(User.Identity.Name).SingleOrDefault()
            If String.IsNullOrEmpty(sRolName) Then Throw New ApplicationException("Error del sistema, no se pudo determinar el rol al que pertenece el usuario")

            'Le pasamos el listado de menus a la vista
            Dim db As New SchoolClickDAL
            Return PartialView(db.IUsuariosYRoles.GetTopMenu(sRolName))
        End Function

        '<OutputCache(Duration:=6000, VaryByParam:="MenuParent")> _
        Public Function SubMenuBar(MenuParent As String) As ActionResult
            'Recuperamos el rol en el cual vamos a consultar
            Dim sRolName As String = Roles.GetRolesForUser(User.Identity.Name).SingleOrDefault()

            'Convertimos el Menu Padre a como nos envia el valor el servidor de Base de Datos
            Dim convertMenuParent = MenuParent.Replace("_", " ")
            ViewBag.MenuParent = MenuParent
            'Le pasamos el listado de menus a la vista
            Dim db As New SchoolClickDAL
            Return PartialView("TopMenuBar", db.IUsuariosYRoles.GetSubMenu(sRolName, convertMenuParent))
        End Function
    End Class
End Namespace
